cleaned up language dependant stuff