implemented shit, still needs gui (damn)