incorporating Sange's design changes to boilerplate set