Added benchmark and refactored benchmark code for easy bench additions