some more logic