added basic functionality (three methods) but of corse there is still a lot to do!