basic version with user interface is working