improved functionality, added more style