first addition
more
code refactor