First commit on abstract schema