added CircularButton, refactoring