Added property template, lots of other changes