about to rewrite everything with doubles