implement calculation list