Always use a message
removed unused constructors
Adding benchmarks