misc
refactoring