draft skeleton of the code