better separation of layers