it works, but yeah...fix this later