First pass at calculator