Completing the basic functionality