cleaned up implementation of charge and translation modules