Need a better way to do this later :L