changing to standard go lib