Initial Implementation

Work in progress...