Just moving some things around (and adding more checks :V)