finished all set up functions