final version local