various changes, some issues with imitating enums and scope