Some methods implementation added. Still have to implement other methods.