still not working but does now type check