add pool model
add different pool types and helpers