added selfish library for class making