v1.0.0 -- before refactoring