Added data control and some basic error handling to begin with.