Crappy implementation :\