Constructor re-done and listener nulls fixed