split song initialization and storage into two phases