first version with all basic features