Added initial skeleton and very basic functionality