Add requirements and message handling and other stuff