still need to understand each detail