implement weight and chars