new contructor better than onload, but bleh, it is