added bonus feature and splicing