start moving dependencies to lower layers; thanks @harikt