develop basic classes