works but is missing the required functionalities