Add lifecycle methods, add destroy method, fix bugs

fix bug with where not returning values
add lifecycle methods
add destroy method on model and on collection