#1 and #2 need to be done before this
#1 and #2 need to be done before this