update code to use @propertys where possible