Properties implementation

marge into master