Implemented rules + checks