basic functionality working and tested