fix mults check
implement surface
bugfixes