raise NotImplementedError for abstraction
update README
refactor and format calculation
format code