implement working calculator