refactoring to unified forms at top
details