some fixes. added a new requirement for functionality