methods and properties kinda work