Updated comments and added fromString and shift methods