Added initial implementation

Initial implementation.