implement Messages.add() method, add constructor overload