make project more flexible