moving behavior to application