functional, now just need to add functionalities