Added comments, fixed accessors, reverse metod and spec