Simplified and Functional hopefully