added basic functionality
added TODO