if there is a greater better way to do it please teach me