changed background and refactored