refactor and hopefully fix numeric suffix method