better dockerfile for cache