Initial implementation of Pool