trys to follow logic