create solution programmatically