clean code + remove warnings + change stacked macro to create