add properties support
migrate to gradle