Can we use optimization algorithms to implement this... also these library are available online so can i use it .