checking errors and adding features