Implemented some more client architecture. Also added basic API