first commit with basic features working