need to implement all the mangles