Implemented basic functionalities, still has problems.