first acceptable effort
minor edits
rename mixin module