Updated connections and added classes for abstraction