optimized and added creator