still working on initialization stuff