initial software structure