javascript prototypes sucks sometimes a bit :)