fixes #1, using linked hash map for properties