all requirements met.. now to make it pretty