add more calculation