broke init into two functions to make room for an upcoming power_down function? or something...