refactored code and structure, added background opacity