I really need to come up with a better way for this to work