add setup
clean code