Version 1.1, refactored and added prebind method