more stuff added and rearranged