added and explained layers functions prototypes