trying a to-do app again, because why not