refactor, add screenshot, add api documentation