Made initial implementation

:construction: 

Please review   
fixed, will push on next iteration