Initial checkin
Updated to make initialization simpler