basic gem framework