process -> callback; more logic