more checks and stuff