completely finished with feature implementation