Added methods and properties and modified the rest to use them