revamped this thing a little