from scratch to the pretty part