added source structure, and added package definitions