refactored layer and layer backing