added magic properties. improvements