layered object model
add basic installation manager