Made initial implementation

Please review