Cleaned up and improved setup