added enums and void layer