add initial setup and skeleton