some fix for properties, but must be refactored