-- merge conflicts
-- minor refactoring of naming