add comments and implemented primary and multi-suffix