add a little safety, much to do still