Add two other methods, and change the design