finished as much features as possible