adding in listeners