more details implemented