refactoring
format imports with goimpots
add missing tests