buncha cool shit/error checking
merge