removed attic, moved helper functions
fixed assign