done for now, added all basic functionality needed