E1S3: further refactoring and progress