Added initial skeleton impl