Added tests, optimize property fetching