Initial Implementation with Basic functionality