Final commit

All required features implemented.