This is a better way of doing this... more expandable