added a few requirements