add skeletal version
First functioning version