added class functionality