basic function implemented.