add some calculation logic