basic functionality has been completed