more logic work