minor
good refactor
smal fix
minor
add common implemetation