changing push! to only insert at the head of the list