implemented other methods