groups and group controller

Signed-off-by: Nader Hendawi <naderhen@gmail.com>