updated with calculator, needs some work though