make it a little more functional