Uses correct types to fix all warnings