finishing implementing typed properties