abstract layers