some minor design changes IM REALLY SATISFIED WITH THIS ONE