added constants and logic